package com.stylefeng.guns.modular.pay.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 体现流水记录
 * </p>
 *
 * @author stylefeng
 * @since 2018-09-11
 */
@TableName("pay_withdraw_order")
public class WithdrawOrder extends Model<WithdrawOrder> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 商户订单号
     */
    @TableField("out_trade_no")
    private String outTradeNo;
    
    /**
     * 平台订单号
     */
    @TableField("plat_trade_no")
    private String platTradeNo;
    
    /**
     * 提交时间
     */
    @TableField("submit_time")
    private String submitTime;
    /**
     * 金额
     */
    private BigDecimal amount;
    /**
     * 银行卡或存折号码
     */
    @TableField("account_no")
    private String accountNo;
    /**
     * 银行卡或存折上的所有人姓名
     */
    @TableField("account_name")
    private String accountName;
    /**
     * 账号类型，00银行卡，01存折，02信用卡，不填默认为银行卡00
     */
    @TableField("account_type")
    private String accountType;
    /**
     * 账号属性，0私人，1公司。不填时，默认为私人0
     */
    @TableField("account_prop")
    private String accountProp;
    /**
     * 银行代码，存折必须填写
     */
    @TableField("bank_code")
    private String bankCode;
    /**
     * 有效期YYYYMMDD，用于信用卡
     */
    private String validate;
    /**
     * 信用卡CVV2
     */
    private String cvv2;
    /**
     * 开户证件类型
     */
    @TableField("id_type")
    private String idType;
    /**
     * 身份证
     */
    @TableField("id_no")
    private String idNo;
    /**
     * 手机号
     */
    private String tel;
    /**
     * 开户行所在省
     */
    private String province;
    /**
     * 开户行所在市
     */
    private String city;
    @TableField("cust_user_id")
    private String custUserId;
    /**
     * 交易附言
     */
    private String summary;
    /**
     * 备注
     */
    private String remark;
    /**
     * 清算日期YYYYMMDD
     */
    @TableField("settle_day")
    private String settleDay;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 响应码
     */
    @TableField("ret_code")
    private String retCode;
    @TableField("err_msg")
    private String errMsg;
    /**
     * 完成时间
     */
    @TableField("fin_time")
    private String finTime;
    /**
     * 批次号
     */
    @TableField("batch_id")
    private String batchId;
    /**
     * 手续费
     */
    @TableField("charge_amount")
    private BigDecimal chargeAmount;
    /**
     * 实际扣减金额
     */
    @TableField("real_amount")
    private BigDecimal realAmount;
    @TableField("receive_amount")
    private BigDecimal receiveAmount;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(String submitTime) {
        this.submitTime = submitTime;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    public String getAccountProp() {
        return accountProp;
    }

    public void setAccountProp(String accountProp) {
        this.accountProp = accountProp;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getValidate() {
        return validate;
    }

    public void setValidate(String validate) {
        this.validate = validate;
    }

    public String getCvv2() {
        return cvv2;
    }

    public void setCvv2(String cvv2) {
        this.cvv2 = cvv2;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getIdNo() {
        return idNo;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCustUserId() {
        return custUserId;
    }

    public void setCustUserId(String custUserId) {
        this.custUserId = custUserId;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSettleDay() {
        return settleDay;
    }

    public void setSettleDay(String settleDay) {
        this.settleDay = settleDay;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getRetCode() {
        return retCode;
    }

    public void setRetCode(String retCode) {
        this.retCode = retCode;
    }

    public String getErrMsg() {
        return errMsg;
    }

    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }

    public String getFinTime() {
        return finTime;
    }

    public void setFinTime(String finTime) {
        this.finTime = finTime;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public BigDecimal getChargeAmount() {
        return chargeAmount;
    }

    public void setChargeAmount(BigDecimal chargeAmount) {
        this.chargeAmount = chargeAmount;
    }

    public BigDecimal getRealAmount() {
        return realAmount;
    }

    public void setRealAmount(BigDecimal realAmount) {
        this.realAmount = realAmount;
    }

    public BigDecimal getReceiveAmount() {
        return receiveAmount;
    }

    public void setReceiveAmount(BigDecimal receiveAmount) {
        this.receiveAmount = receiveAmount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
    

    public String getPlatTradeNo() {
		return platTradeNo;
	}

	public void setPlatTradeNo(String platTradeNo) {
		this.platTradeNo = platTradeNo;
	}

	@Override
    public String toString() {
        return "WithdrawOrder{" +
        "id=" + id +
        ", outTradeNo=" + outTradeNo +
        ", submitTime=" + submitTime +
        ", amount=" + amount +
        ", accountNo=" + accountNo +
        ", accountName=" + accountName +
        ", accountType=" + accountType +
        ", accountProp=" + accountProp +
        ", bankCode=" + bankCode +
        ", validate=" + validate +
        ", cvv2=" + cvv2 +
        ", idType=" + idType +
        ", idNo=" + idNo +
        ", tel=" + tel +
        ", province=" + province +
        ", city=" + city +
        ", custUserId=" + custUserId +
        ", summary=" + summary +
        ", remark=" + remark +
        ", settleDay=" + settleDay +
        ", status=" + status +
        ", retCode=" + retCode +
        ", errMsg=" + errMsg +
        ", finTime=" + finTime +
        ", batchId=" + batchId +
        ", chargeAmount=" + chargeAmount +
        ", realAmount=" + realAmount +
        ", receiveAmount=" + receiveAmount +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
